package com.rongshu.sendmessage.util.notifi;

import android.content.Context;
import android.text.TextUtils;
import android.widget.Toast;

import java.util.LinkedHashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//import static com.rongshu.sendmessage.util.notifi.TagAliasOperatorHelper.ACTION_ADD;
//import static com.rongshu.sendmessage.util.notifi.TagAliasOperatorHelper.ACTION_SET;
//import static com.rongshu.sendmessage.util.notifi.TagAliasOperatorHelper.sequence;

public class NotificationUtil {
    // 校验Tag Alias 只能是数字,英文字母和中文
    public static boolean isValidTagAndAlias(String s) {
        Pattern p = Pattern.compile("^[\u4E00-\u9FA50-9a-zA-Z_!@#$&*+=.|]+$");
        Matcher m = p.matcher(s);
        return m.matches();
    }
    /**
     * 这里是设置极光推送的，设置昵称的
     */
    public void setAlias(Context context,String alias) {
//        if(TextUtils.isEmpty(alias)){
//            return;
//        }
//        TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
//        tagAliasBean.action = ACTION_SET;
//        sequence++;
//        tagAliasBean.alias = alias;
//        tagAliasBean.isAliasAction = true;
//        TagAliasOperatorHelper.getInstance().handleAction(context,sequence,tagAliasBean);

    }
    /**
     * 这里是设置极光推送的，设置组别的
     */
    public void setTag(Context context,String officeName) {

//        Set<String> tags = getInPutTags(context,officeName);
//        if(tags == null){
//            return;
//        }
//        TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
//        tagAliasBean.action = ACTION_ADD;
//        sequence++;
//        tagAliasBean.tags = tags;
//        tagAliasBean.isAliasAction = false;
//        TagAliasOperatorHelper.getInstance().handleAction(context,sequence,tagAliasBean);
    }

    private Set<String> getInPutTags(Context context,String tag) {
        // 检查 tag 的有效性
        if (TextUtils.isEmpty(tag)) {
//            Toast.makeText(getApplicationContext(), "推送异常，设置标签失败，组别出错了，请联系后台", Toast.LENGTH_SHORT).show();
            return null;
        }

        // ","隔开的多个 转换成 Set
        String[] sArray = tag.split(",");
        Set<String> tagSet = new LinkedHashSet<String>();
        for (String sTagItme : sArray) {
            if (!NotificationUtil.isValidTagAndAlias(sTagItme)) {
                Toast.makeText(context, "推送异常，设置标签失败，组别出错了，请联系后台", Toast.LENGTH_SHORT).show();
                return null;
            }
            tagSet.add(sTagItme);
        }
        if(tagSet.isEmpty()){
            Toast.makeText(context, "推送异常，设置标签失败，组别出错了，请联系后台", Toast.LENGTH_SHORT).show();
            return null;
        }
        return tagSet;
    }
}
